package cn.iocoder.an.module.mold.controller.admin.upkeepcat2item.vo;

import cn.iocoder.an.module.mold.dal.dataobject.linestopcategory.LinestopCategoryDO;
import cn.iocoder.an.module.mold.dal.dataobject.upkeepcategory.UpkeepCategoryDO;
import cn.iocoder.an.module.mold.dal.dataobject.upkeepitem.UpkeepItemDO;
import com.fhs.core.trans.anno.Trans;
import com.fhs.core.trans.constant.TransType;
import com.fhs.core.trans.vo.VO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import cn.idev.excel.annotation.*;

@Schema(description = "管理后台 - 模具保养分类项目对照 Response VO")
@Data
@ExcelIgnoreUnannotated
public class UpkeepCat2itemRespVO  implements VO {

    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "24716")
    @ExcelProperty("主键")
    private Long id;

    @Schema(description = "保养类型主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "16825")
    @Trans(type = TransType.SIMPLE, target = UpkeepCategoryDO.class, fields = "name", ref = "categoryName")
    private Long categoryId;

    @Schema(description = "保养类型名称")
    @ExcelProperty("保养类型名称")
    private String categoryName;

    @Schema(description = "保养项目主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "24989")
    @Trans(type = TransType.SIMPLE, target = UpkeepItemDO.class,  fields = {"name", "code","description"}, refs = {"itemName", "itemCode","itemDescription"})
    private Long itemId;

    @Schema(description = "保养项目名称")
    @ExcelProperty("保养项目名称")
    private String itemName;

    @Schema(description = "保养项目名称")
    @ExcelProperty("保养项目编码")
    private String itemCode;

    @Schema(description = "保养项目描述")
    @ExcelProperty("保养项目描述")
    private String itemDescription;


    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("创建时间")
    private LocalDateTime createTime;

}
